
package limfic.persistencia.mysql;

import limfic.persistencia.mysql.ciudad.ICiudadRepositorio;
import limfic.persistencia.mysql.equipo.IEquipoRepositorio;
import limfic.persistencia.mysql.jugador.IJugadorRepositorio;
import limfic.persistencia.mysql.jugador.JugadorRepositorio;
import limfic.persistencia.AbstractDB;
import limfic.persistencia.mysql.ciudad.CiudadRepositorio;
import limfic.persistencia.mysql.equipo.EquipoRepositorio;
import limfic.persistencia.mysql.RepositorioGenerico;
import limfic.persistencia.mysql.usuario.IUsuarioRepositorio;
import limfic.persistencia.mysql.usuario.UsuarioRepositorio;
import limfic.persistencia.RepositorioException;
import java.sql.ResultSet;
import java.sql.SQLException;

public class MySqlDB extends AbstractDB {

   
	@Override
	protected String getUrl(String servidor, String base) {
		return "jdbc:mysql://" + servidor + "/" + base;
	}

	@Override
	protected String getDriver() {
		return "com.mysql.jdbc.Driver";
	}
	
	@Override
	protected String getMotor() {
		return "mysql";
	}

    @Override
    public IJugadorRepositorio getJugadorRepositorio() throws RepositorioException {
        return new JugadorRepositorio(getConnection());
    }

    @Override
    public ICiudadRepositorio getCiudadRepositorio() throws RepositorioException {
        return new CiudadRepositorio(getConnection());
    }

    @Override
    public IEquipoRepositorio getEquipoRepositorio() throws RepositorioException {
         return new EquipoRepositorio(getConnection());
    }

    @Override
    public IUsuarioRepositorio getUsuarioRepositorio() throws RepositorioException {
         return new UsuarioRepositorio(getConnection());
    }

/*
    @Override
    public IRepositorioGenerico getRepositorioGenerico() throws RepositorioException {
        return new RepositorioGenerico(getConnection()) {

            @Override
            public Object mapearFila(ResultSet resultSet) throws SQLException {
                throw new UnsupportedOperationException("Not supported yet.");
            }

            @Override
            protected String sqlAgregar(Object entity) {
                throw new UnsupportedOperationException("Not supported yet.");
            }

            @Override
            protected String sqlModificar(Object entity) {
                throw new UnsupportedOperationException("Not supported yet.");
            }

            @Override
            protected String sqlEliminar(Object entity) {
                throw new UnsupportedOperationException("Not supported yet.");
            }

            @Override
            protected String sqlObtenerUno(String id) {
                throw new UnsupportedOperationException("Not supported yet.");
            }

            @Override
            protected String sqlObtenerAlgunos(String[] parametrosBusqueda) {
                throw new UnsupportedOperationException("Not supported yet.");
            }

            @Override
            protected String sqlObtenerTodos() {
                throw new UnsupportedOperationException("Not supported yet.");
            }
        };

    }
 * */
}
